﻿<html><head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=utf-8" /><META NAME="save" CONTENT="history" /><title xmlns:mshelp="http://msdn.microsoft.com/mshelp" xmlns:msxsl="urn:schemas-microsoft-com:xslt">Wizard Sample</title><META NAME="Description" CONTENT="&#xD;&#xA;                    This sample illustrates how to create wizard, using a T:System.Windows.Window, a T:System.Windows.Controls.Frame, and several T:System.Windows.Controls.Page objects.&#xD;&#xA;                "></META><META NAME="MS.LOCALE" CONTENT="en-us" /><style>
body
{font-family:Verdana;font-size:medium;}
div#mainSection, div#header
{font-size:70%;width: 100%;}
div#mainBody
{font-size:90%;}
div#mainSection div table
{font-size: 100%;text-align: left;}
span#nsrTitle
{color:#003399;font-size:90%;font-weight:600;}
div#header
{background-color:#D4DFFF;}
.heading
{font-size:120%;color:#003399;}
.subHeading
{font-size:100%;margin-bottom:4;}
li
{margin-top:-2;margin-bottom:3;}
p
{margin-top:10;margin-bottom:5;}
div.tableSection p
{margin-top:1;margin-bottom:4;}	
div#mainSection table th
{background-color:#EFEFF7;color:#000066;text-align:left;}
div#mainSection table td
{background-color:#F7F7FF;}
div#mainSection table
{margin-top:5px;margin-bottom: px;}
			</style></head><body><div id="header"><table width="100%" id="topTable"></table></div><div id="mainSection"><div id="mainBody"><br /><font color="DarkGray">[This readme is a partial copy of the sample's topic in the SDK documentation.]</font><br /><font color="DarkGray" xmlns:mshelp="http://msdn.microsoft.com/mshelp" xmlns:msxsl="urn:schemas-microsoft-com:xslt"></font><p xmlns:mshelp="http://msdn.microsoft.com/mshelp" xmlns:msxsl="urn:schemas-microsoft-com:xslt"></p><p xmlns:mshelp="http://msdn.microsoft.com/mshelp" xmlns:msxsl="urn:schemas-microsoft-com:xslt"><font color="DarkGray">Updated: November 2007</font></p><div class="introduction"><p xmlns:mshelp="http://msdn.microsoft.com/mshelp" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
                    This sample illustrates how to create wizard, using a <span sdata="cer" target="T:System.Windows.Window">Window</span>, a <span sdata="cer" target="T:System.Windows.Controls.Frame">Frame</span>, and several <span sdata="cer" target="T:System.Windows.Controls.Page">Page</span> objects.
                </p><p xmlns:mshelp="http://msdn.microsoft.com/mshelp" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
                    This sample demonstrates a specific feature of the Windows Presentation Foundation and, consequently, does not follow application development best practices. For comprehensive coverage of Windows Presentation Foundation (WPF) and Microsoft .NET Framework application development best practices, refer to the following as appropriate:
                </p><p xmlns:mshelp="http://msdn.microsoft.com/mshelp" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
                    Accessibility - <span sdata="link">Accessibility Best Practices</span></p><p xmlns:mshelp="http://msdn.microsoft.com/mshelp" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
                    Localization - <span sdata="link">WPF Globalization and Localization Overview</span></p><p xmlns:mshelp="http://msdn.microsoft.com/mshelp" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
                    Performance - <span sdata="link">Optimizing WPF Application Performance</span></p><p xmlns:mshelp="http://msdn.microsoft.com/mshelp" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
                    Security - <span sdata="link">Windows Presentation Foundation Security</span></p></div><h1 class="heading" xmlns:mshelp="http://msdn.microsoft.com/mshelp" xmlns:msxsl="urn:schemas-microsoft-com:xslt"><span onclick="ExpandCollapse(sectionToggle0)" style="cursor:default;" onkeypress="ExpandCollapse_CheckKey(sectionToggle0, event)" tabindex="0">Building the Sample</span></h1><div id="sectionSection0" class="section"><ul xmlns:mshelp="http://msdn.microsoft.com/mshelp" xmlns:msxsl="urn:schemas-microsoft-com:xslt"><li><p>
                    Install the Windows Software Development Kit (SDK) and open its build environment command window. On the Start menu, point to All Programs, Microsoft Windows SDK, and then click CMD Shell.
                </p></li><li><p>
                    Download the sample, usually from the software development kit (SDK) documentation, to your hard disk drive.
                </p></li><li><p>
                    To build the sample from the build environment command window, go to the source directory of the sample. At the command prompt, type MSBUILD.
                </p></li><li><p>
                    To build the sample in Microsoft Visual Studio, load the sample solution or project file and then press CTRL+SHIFT+B.
                </p></li></ul></div><h1 class="heading" xmlns:mshelp="http://msdn.microsoft.com/mshelp" xmlns:msxsl="urn:schemas-microsoft-com:xslt"><span onclick="ExpandCollapse(sectionToggle1)" style="cursor:default;" onkeypress="ExpandCollapse_CheckKey(sectionToggle1, event)" tabindex="0">Running the Sample</span></h1><div id="sectionSection1" class="section"><ul xmlns:mshelp="http://msdn.microsoft.com/mshelp" xmlns:msxsl="urn:schemas-microsoft-com:xslt"><li><p>
                    To run the compiled sample from the build environment command window, execute the .exe file in the Bin\Debug or Bin\Release folder contained under the sample source code folder.
                </p></li><li><p>
                    To run the compiled sample with debugging in Visual Studio, press F5.
                </p></li></ul></div><h1 class="heading" xmlns:mshelp="http://msdn.microsoft.com/mshelp" xmlns:msxsl="urn:schemas-microsoft-com:xslt"><span onclick="ExpandCollapse(sectionToggle2)" style="cursor:default;" onkeypress="ExpandCollapse_CheckKey(sectionToggle2, event)" tabindex="0">Remarks</span></h1><div id="sectionSection2" class="section"><p xmlns:mshelp="http://msdn.microsoft.com/mshelp" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
                    The wizard is constructed from a <span sdata="cer" target="T:System.Windows.Window">Window</span> with a <span sdata="cer" target="T:System.Windows.Controls.Frame">Frame</span> that hosts the pages of the wizard. The navigation between the pages of the wizard uses a fixed linear topology, which you can find more information on in <span sdata="link">Structured Navigation Overview</span>.
                </p><p xmlns:mshelp="http://msdn.microsoft.com/mshelp" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
                    There is one key difference between the implementation of a fixed linear topology that is initiated by a <span sdata="cer" target="T:System.Windows.Controls.Page">Page</span> versus one that is initiated by a <span sdata="cer" target="T:System.Windows.Window">Window</span>.
                </p><p xmlns:mshelp="http://msdn.microsoft.com/mshelp" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
                    In the case of the latter, code on the <span sdata="cer" target="T:System.Windows.Window">Window</span> navigates its child <span sdata="cer" target="T:System.Windows.Controls.Frame">Frame</span> to the <b>WizardLauncher</b> class to start the wizard pages, as per the fixed linear topology. However, the <span sdata="cer" target="T:System.Windows.Window">Window</span> code cannot handle the <span sdata="cer" target="E:System.Windows.Navigation.PageFunction`1.Return">Return</span> event of the <b>WizardLauncher</b> class (which is a <span sdata="cer" target="T:System.Windows.Navigation.PageFunction`1">PageFunction&lt;(Of &lt;(T&gt;)&gt;)</span>) because the event cannot be raised across the boundary of the <span sdata="cer" target="T:System.Windows.Controls.Frame">Frame</span>. Instead, the <b>WizardLauncher</b> implements a custom event, <b>WizardCompleted</b>, which the <span sdata="cer" target="T:System.Windows.Window">Window</span> code can handle to detect when the wizard has finished.
                </p></div><h1 class="heading" xmlns:mshelp="http://msdn.microsoft.com/mshelp" xmlns:msxsl="urn:schemas-microsoft-com:xslt"><span onclick="ExpandCollapse(seeAlsoToggle)" style="cursor:default;" onkeypress="ExpandCollapse_CheckKey(seeAlsoToggle, event)" tabindex="0">See Also</span></h1><div id="seeAlsoSection" class="section"><h4 class="subHeading" xmlns:mshelp="http://msdn.microsoft.com/mshelp" xmlns:msxsl="urn:schemas-microsoft-com:xslt">Concepts</h4><div class="seeAlsoStyle"><span sdata="link" xmlns:mshelp="http://msdn.microsoft.com/mshelp" xmlns:msxsl="urn:schemas-microsoft-com:xslt">Navigation Overview</span></div><div class="seeAlsoStyle"><span sdata="link" xmlns:mshelp="http://msdn.microsoft.com/mshelp" xmlns:msxsl="urn:schemas-microsoft-com:xslt">Structured Navigation Overview</span></div><div class="seeAlsoStyle"><span sdata="link" xmlns:mshelp="http://msdn.microsoft.com/mshelp" xmlns:msxsl="urn:schemas-microsoft-com:xslt">Navigation Topologies Overview</span></div></div></div></div></body></html>